package dao;

import hbt.HibernateUtil;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

import viewObjects.EquipoVO;

import model.Equipo;

public class EquipoDAO {

	private static EquipoDAO dao;
	private static SessionFactory sf = null;
	
	public static EquipoDAO getInstance(){
		if(dao == null){
			sf = HibernateUtil.getSessionFactory();
			dao = new EquipoDAO();
		} 
		return dao;
	}
	
	public ArrayList<Equipo> obtenerEquipos(String[] equiposList) {
		Session session = sf.openSession();
		Query cs = session.createQuery("from Equipo where nombre in (:lista)").setParameterList("lista", equiposList);
		List<?> objs = cs.list();
		for(int i = 0 ; i < equiposList.length ; i++){
			System.out.println("equiposList" +  equiposList[i]);			
		}

	    ArrayList<Equipo> equipos = new ArrayList<Equipo>();
	
	    for (Object object : objs) {
	    	Equipo eq = (Equipo)object;
	    	equipos.add(eq);
	    	
		}
	    session.close();
		return equipos;
	}

	public ArrayList<EquipoVO> getEquiposSinAsignacion() {
		
		Session session = sf.openSession();
		Query cs = session.createQuery("from Equipo where promedio=?").setInteger(0, -1);
		List<?> objs = cs.list();  
	    ArrayList<EquipoVO> equipos = new ArrayList<EquipoVO>();
	
	    for (Object object : objs) {
	    	Equipo eq = (Equipo)object;
	    	equipos.add(eq.getMinimalView());
	    	
		}
	    session.close();
		return equipos;
	}
	
	

}
